Pure flat rates for services, such as communications services (e.g., voice/video call, data, text, applications) are unsuitable for influencing user behavior, for example limiting usage. However, a flat-rate with a cap can be converted to de-facto usage-based by providing a refund for unused capacity. Usage-based pricing is typically implemented as linear billing, in other words the cost or charge is proportional to usage. In a dynamic pricing approach, the billing is done by summing up the product of prices-per-unit and volume of usage (e.g., in bits or bytes) for different constant segments, in a step-wise manner. The segments can represent different services or different levels or classes of services. This allows for dynamic prices and a linear addition of segments. However, this approach does not support other than linear billing per segment. There is a need for a scheme that supports different types of monotonic billing functions, e.g., logarithmic billing and linear billing.